<?php
// vim: fdm=marker


/**
 * 域名合法字符检测
 * 此主要用于检测输入的域名字符是否都是合法的，并未检测域名组成结构的正确性
 * 此检测主要用于域名搜索检测等
 *
 * 合法的域名中只允许出现字符、数字、-(减号)、圆点
 */
function isSafeDomainString($domain) {/*{{{*/
    $regx = '/^[0-9a-z\-\.]{1,}$/';

    return preg_match($regx, $domain);
}/*}}}*/

/**
 * isSafeString
 * 字符串中只允许出现字母、数字、-(横线)、_(下划线)
 *
 * @param mixed $s
 * @return void
 */
function isSafeString($s) {/*{{{*/
    $pattern = '/^[0-9a-z\-_]{1,}$/';

    return (bool)preg_match($pattern, $s);
}/*}}}*/

/**
 * isSafeUserName
 * 标准用户名以字符开头，由字母、数字、横线、下划线组成
 *
 * @param mixed $s
 * @return void
 */
function isSafeUserName($s) {/*{{{*/
    $pattern = '/^[a-z]{1}[0-9a-z\-_]{1,}$/';

    return (bool)preg_match($pattern, $s);
}/*}}}*/

/**
 * isEmail
 * 是否属于标准的email
 *
 * 返回值true表示是正确的，false表示错误
 *
 * @param mixed $s
 * @return void
 */
function isEmail($s) {/*{{{*/
    return (bool)filter_var($s, FILTER_VALIDATE_EMAIL);
}/*}}}*/

/**
 * 验证固定电话和手机号
 */
function isTel($s) { /*{{{*/
    $pattern='/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}1[0-9]{10}$)/'; 

    return (bool)preg_match($pattern, $s);
} /*}}}*/

/**
 * 验证qq号
 * 非零数字开头，长度为5-13位纯数字的即为符合标准的QQ号
 */
function isQq($s) {/*{{{*/
    $pattern = '/^[1-9]{1}[0-9]{4,12}$/';

    return (bool)preg_match($pattern, $s);
}/*}}}*/

/**
 * 验证银行卡号
 */
function isBankAcc($s) {/*{{{*/
    $pattern = '/^[0-9\s]+$/';

    return (bool)preg_match($pattern, $s);
}/*}}}*/
